package com.rookie.im.server.config;

import lombok.Data;
import lombok.ToString;

@Data
@ToString
public class AppConfig {
    private WebsocketConfig rookie;

    @Data
    @ToString
    public static class WebsocketConfig {
        private int port;
        private int boosThreadSize;
        private int workerThreadSize;
        private RedisConfig redis;
        private Rabbitmq rabbitmq;
    }

    @Data
    @ToString
    public static class RedisConfig {
        private String mode;
        private int database;
        private String password;
        private int timeout;
        private int poolMinIdle;
        private int poolConnTimeout;
        private int poolSize;
        private RedisSingle single;
    }

    @Data
    @ToString
    public static class RedisSingle {
        private String address;
    }
    @Data
    @ToString
    public static class Rabbitmq {
        private String host;
        private int port;
        private String virtualHost;
        private String username;
        private String password;
    }
}
